package com.yixq.soa.service.comm.utils;

import com.yixq.soa.service.comm.vo.PageVo;
import com.github.miemiedev.mybatis.paginator.domain.PageList;

import java.util.List;

/**
 * 分页对象转换工具类
 * Created by marvin on 2017/5/27.
 */
public class PageConverterUtils {

    public static <S,T> PageVo<T> convert2PageVo(PageList<S> pageList, Class<S> sClass, Class<T> tClass){
        PageVo<T> pageVo = new PageVo<T>();
        pageVo.setPage(pageList.getPaginator().getPage());
        pageVo.setLimit(pageList.getPaginator().getLimit());
        pageVo.setTotalCount(pageList.getPaginator().getTotalCount());
        pageVo.setTotalPage(pageList.getPaginator().getTotalPages());

        List<T> listContent = BeanCopyUtil.copyList(pageList, tClass);
        pageVo.setContent(listContent);
        return pageVo;
    }

    public static <T> PageVo<T> convert2PageVo(PageList<T> pageList){
        PageVo<T> pageVo = new PageVo<T>();
        pageVo.setPage(pageList.getPaginator().getPage());
        pageVo.setLimit(pageList.getPaginator().getLimit());
        pageVo.setTotalCount(pageList.getPaginator().getTotalCount());
        pageVo.setTotalPage(pageList.getPaginator().getTotalPages());
        pageVo.setContent(pageList);

        return pageVo;
    }
}
